iT邦幫忙

2021 iThome 鐵人賽

DAY 23
0
自我挑戰組

CPE題目練習系列 第 23

[Day23]What's Cryptanalysis?

  • 分享至 

  • xImage
  •  

上一篇介紹了The 3n + 1 problem,這題給我們兩個數字,並對範圍內的每個數字N執行以下動作,偶數是N除以2,基數是3N+1,直到最後N等於1為止,並輸出最大的執行次數,題目也有給範例,理解上也可以看範例跟數字來理解,或許會比看英文輕鬆。

今天講解的題目是What's Cryptanalysis?
先附上程式碼:

import java.util.;
import static java.lang.System.
;
public class main{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int arr[]=new int[26];
int Length=0;
int count=sc.nextInt();
String a=sc.nextLine();
while(count-->0){
String B;
B=sc.nextLine();
B=B.toUpperCase();
Length+=B.length();
for(int i=0;i<B.length();i++)
{
if('A'<=B.charAt(i) && B.charAt(i)<='Z')
{
arr[(int)B.charAt(i)-65]++;
}
}
}
while(--Length>0)
{
for(int i=0;i<26;i++)
{
if(arr[i]==Length)
{
System.out.println( ( (char)(i+65) ) +" " + arr[i]);
}
}
}
}
};

這題要我們找出每個字母都出現幾次,大小都算一樣的,所以要先把所有的字母轉成大小或小寫,題目的一個數字是給幾行的意思,因為數字後面有給空白建,所以要先給一個輸入空白的值,之後利用toUpperCase()全部轉成大寫英文字母,之後再把它輸入到對應的陣列裡,有一個就加1,A就是arr[0]+1,最後在從陣列裡最大的輸出,輸出到陣列裡剩1的,這樣就完成咯。
今天的講解就到這裡。
明天也是新的題目,會介紹Funny Encryption Method,繼續加油!


上一篇
[Day22]The 3n + 1 problem
下一篇
[Day24]Funny Encryption Method
系列文
CPE題目練習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言